Estoy comprobando si un usuario ha iniciado sesión en una ruta llamada foro. Lo estoy importando así. El archivo es rutas/foro.js
const isloggedinimport = require('../index')
Tengo la función en index.js
const isloggedin = (req,res,next) => { if(req.user) { next() } else { res.render('loginerror',) } }
estoy exportando con
module.exports = isloggedin
Cuando intento ejecutar esto
router.get('/', isloggedinimport.isloggedin, (req, res) => { res.render('monitors/monitorhome') }); module.exports = router
Recibo el error de que Route.get() requiere una función de devolución de llamada pero obtuvo un [objeto no definido]
el error esta en esta linea
router.get('/', isloggedinimport.isloggedin, (req, res) => {
¿Cómo puedo solucionar esto?
Al exportar la función, intente usar el siguiente código:
module.exports.isloggedin = isloggedin
Esto establecerá la propiedad isloggedin
en la función para que cuando llame a isloggedinimport.isloggedin
, acceda a la función correctamente. Alternativamente, podría usar el siguiente código para exportar su función:
module.exports = isloggedin
y luego use este código para importar la función:
const isloggedin = require('../index') ... router.get('/', isloggedin, (req, res) => { res.render('monitors/monitorhome') });